feat(prose-tests): conduct — playing a person where a script cannot reach - #576
Merged
Conversation
This was referenced Jul 27, 2026
Merged
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 15:53
3a2a3a8 to
478540d
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 15:54
f290f6c to
a5fc301
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 15:54
478540d to
78d87b0
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 15:56
a5fc301 to
399540b
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 15:56
78d87b0 to
ac14bca
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 15:57
399540b to
1518746
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 15:57
ac14bca to
3a13c80
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 15:58
1518746 to
0c550a2
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 15:58
3a13c80 to
99409d7
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 15:59
0c550a2 to
8070b75
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 15:59
99409d7 to
9ec1b03
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 16:00
8070b75 to
dfb167e
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 16:00
9ec1b03 to
534c255
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 16:01
dfb167e to
f20123d
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 16:01
534c255 to
0ae49af
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 16:02
f20123d to
88b3b1a
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 16:02
0ae49af to
bbf15cb
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 17:05
88b3b1a to
9c170b6
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 17:05
bbf15cb to
79f2273
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 17:06
9c170b6 to
4e15219
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 17:06
79f2273 to
dc96a58
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 17:06
4e15219 to
60eb29f
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 17:06
dc96a58 to
bf3ebe0
Compare
leeovery
force-pushed
the
fix/investigation-symptom-guard
branch
from
July 27, 2026 17:07
60eb29f to
7144641
Compare
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 17:07
bf3ebe0 to
53ee32a
Compare
…each A scripted answer covers a question with one right response. Some prose does not work that way: symptom gathering explores, and keeps exploring until it judges it has enough, so there is no fixed number of turns to script. Every case so far has stopped at the edge of such a stretch, which is why seven processing skills had no coverage past their gates. conduct is the third per-case input, beside answers and stubs: a description of the person on the other side, not a queue of replies. The walker answers as that person would, in their words, for as long as the prose keeps asking. A case may carry both — the script covers the discrete gates, the description covers the open stretches. Two guards keep it from becoming a back door through the P4 boundary. The template states it describes the user and never the walk: it cannot name an arm, end a step, or say what the prose ought to do. And the walker's standing instruction now says that playing the user is not steering the walk — a described user who would happily stop talking is still not permission to cut a loop the prose has not ended. The first case to need it walks investigation through its symptom interview: the fix in the commit below this one made the interview run, and this case is the one that fails on the prose before that fix — the finding landing twice, as the project requires. Its user is relaying the bug rather than living it: concrete about what they saw, plain about what they do not know, volunteering nothing past the question asked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
leeovery
force-pushed
the
feat/prose-conduct
branch
from
July 27, 2026 17:07
53ee32a to
9f4c13c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
conductis the third per-case input, besideanswersandstubs: a description of the person on the other side, not a queue of replies. A scripted answer covers a question with one right response; symptom gathering explores until it judges it has enough, so there's no fixed number of turns to script. The walker answers as the described person would, in their words, for as long as the prose keeps asking. A case may carry both — the script covers discrete gates, the description covers open stretches.investigation-gathers-symptomswalks investigation through its symptom interview. Its claim 3 — the interview runs despite the carrier having populated Symptoms — is the claim that fails on the prose before fix(investigation): the symptom interview never ran for work shaped in discovery #575's guard fix, so the finding lands twice as CLAUDE.md requires. Its user relays the bug rather than living it: concrete about what they saw, plain about what they don't know, volunteering nothing.First run results
The case ran and did its job — 6/6 path steps including claim 3, all four deterministic checks, world PASS. It FAILed on one further claim whose evidence the harness truncates (an Edit response cut at 400 chars) — that's the next PR up the stack. It also surfaced the re-asking prose gap — the PR above that.
Test plan
🤖 Generated with Claude Code
Stack